package util

import (
	"fmt"
	"io/ioutil"
	"net/http"
	"regexp"
)

//定义新的数据类型

type Spider struct {
	url    string
	header map[string]string
}

//定义 Spider的方法

func (keyword Spider) get_html_header() string {
	client := &http.Client{}
	req, err := http.NewRequest("GET", keyword.url, nil)
	if err != nil {
	}
	for key, value := range keyword.header {
		req.Header.Add(key, value)
	}
	resp, err := client.Do(req)
	if err != nil {
	}
	defer resp.Body.Close()
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
	}
	return string(body)
}

func GetInfo(keyword string) {
	header := map[string]string{
		"Host":       "sug.so.360.cn",
		"Referer":    "http://www.so.com/",
		"DNT":        "1",
		"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36",
		"Cookie":     "__huid=104rl%2B0HjG2YltBarbPPIz2w7HTbLrv43gETLeVtBdIEI%3D",
	}
	//keyword := "科技"
	url := "http://sug.so.360.cn/suggest?callback=suggest_so&encodein=utf-8&encodeout=utf-8&format=json&fields=word,obdata&word=" + keyword
	spider := &Spider{url, header}
	html := spider.get_html_header()
	rp1 := regexp.MustCompile("{(.*?)}")
	find_txt := rp1.FindAllString(html, -1)
	fmt.Println(find_txt)
}
